package com.flyan.game.motafx.core.event.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 事件类型枚举
 *
 * @author flyan
 * @version 1.0
 * @email flyan_by_chenu@sina.com
 * @since 2025/2/10
 */
@AllArgsConstructor
@Getter
public enum EventTypeEnum {

    /* 自定义事件 */
    CUSTOM_EVENT("custom_event"),
    /* 游戏休眠 */
    GAME_SLEEP("game_sleep"),
    /* 设置游戏属性 */
    SET_PROPERTY("set_property"),
    /* 生成游戏实体 */
    SPAWN_ENTITY("spawn_entity"),
    /* 移除游戏实体 */
    REMOVE_ENTITY("remove_entity"),
    /* 播放音效 */
    PLAY_SOUND("play_sound"),
    /* 过场动画 */
    CUTSCENE("cutscene"),
    /* 设置装备槽 */
    SET_EQUIP_SLOTS("set_equip_slots"),
    /* 改变位置 */
    CHANGE_POSITION("change_position"),
    ;

    private final String code;

    public static EventTypeEnum valueOfCode(String code) {
        for (EventTypeEnum e : values()) {
            if (e.code.equals(code)) {
                return e;
            }
        }
        return null;
    }

}
